/**
 * @file message_quque.c
 * @author yonglin_zhang
 * @brief 消息队列头文件
 * @version 0.1
 * @date 2023-07-25
 * 
 * @copyright Copyright (c) 2023
 * 
 */

#ifndef MESSAGE_QUEUE_H
#define MESSAGE_QUEUE_H

#define QUEUE_OK            0x0000
#define QUEUE_ERR_BAD_INPUT 0x0001

#define QUEUE_STATUS_EMPTY  0x1000

/**
 * @brief 初始化
 */
void queue_compile_init();

/**
 * @brief 向消息队列中添加需要更新的数据
 * 
 * @param token 
 * @param owner 
 * @param repo 
 * @param branch 
 * @param branch_hash
 * @return int 
 */
int queue_compile_add(const char *token, const char *owner, const char *repo, const char *branch, const char *branch_hash);

/**
 * @brief 从消息队列中获得队头信息
 * 
 * @param token 
 * @param owner 
 * @param repo 
 * @param branch 
 * @param branch_hash
 * @return int 
 */
int queue_compile_get(char token[128], char owner[128], char repo[128], char branch[128], char branch_hash[128]);

void debug_queue();

void debug_queue_compile_free();

#endif